package 基础练习;/**
 * @author： li
 * @date： 2022-01-15 16:04
 * @version 1.0
 */

/*问题描述
　　十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号，分别表示十进制数的0至15。十六进制的计数方法是满16进1，所以十进制数16在十六进制中是10，而十进制的17在十六进制中是11，以此类推，十进制的30在十六进制中是1E。
　　给出一个非负整数，将它表示成十六进制的形式。
输入格式
　　输入包含一个非负整数a，表示要转换的数。0<=a<=2147483647
输出格式
　　输出这个整数的16进制表示
样例输入
30
样例输出
1E
 */
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class 十进制转十六进制 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int b;//被除数
        int s;//商
        ArrayList<Integer> y = new ArrayList<>();//余数
        int a = sc.nextInt();
        s=b=a/16;
        y.add(a%16);
        while (s!=0){
            s=b/16;
            if(s==0){
                y.add(b);
                break;
            }
            y.add(b%16);
            b=b/16;
        }
        Collections.reverse(y);
        for(int i:y){
            if(i==15)
                System.out.print('F');
            else if (i==14)
                System.out.print('E');
            else if (i==13)
                System.out.print('D');
            else if (i==12)
                System.out.print('C');
            else if (i==11)
                System.out.print('B');
            else if (i==10)
                System.out.print('A');
            else
                System.out.print(i);
        }
    }
}
